<!DOCTYPE html>
<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="renderer" content="webkit">
    <title>生成excel模板</title>
    <meta name="keywords" content="bootstrap-treetable">
    <meta name="description" content="bootstrap-treetable">
    <link rel="stylesheet" href="./libs/v4/bootstrap.min.css" type="text/css" />
    <link rel="stylesheet" href="./bootstrap-treetable.css" type="text/css" />
    <style>
        .table td, .table th{
            padding-top: 0px !important;
            padding-bottom: 0px !important;
        }
        .btn{
            border-radius: 3px;
            margin: 2px 0;
            font-size: 12px;
            padding: 2px;
        }
        .treetable-bars{
            display: none;
        }
    </style>
</head>
<body>
  <div style="margin: 10px;">
      <input type="text" placeholder="请输入swagger地址" size="100" id="swaggerUrl" value="http://dev.suppliercenter-view.devapis.yonghui.cn/v2/api-docs"/> <button id="analysis"  class="btn btn-default"> 开 始 解 析 </button>
      <br>
      <br>
      <button id="expandAllBtn" type="button" class="btn btn-default">展开/折叠 所有</button>
      &emsp;
      <button id="exportExcel" type="button" class="btn btn-default">导出exccel</button>

      <br>
  </div>
<table id="demo"></table>
<!-- 全局js -->
<script type="text/javascript" src="./libs/jquery.min.js"></script>
<script type="text/javascript" src="./libs/v4/bootstrap.min.js"></script>
<script type="text/javascript" src="./bootstrap-treetable.js"></script>
<script type="text/javascript">

    var grip;
    function init(url){
      grip = $('#demo').bootstrapTreeTable({
            id : "id",               // 选取记录返回的值,用于设置父子关系
            parentId : "parentId",       // 用于设置父子关系
            url: url,             // 请求后台的URL（*）
            expandColumn : 1,            // 在哪一列上面显示展开按钮
            expandAll : false,                // 是否全部展开
            condensed: true,                                           // 是否紧缩表格
            width:'100%',
            showRefresh: false,                                          // 是否显示刷新按钮
            columns: [
                {
                    field: 'selectItem',
                    checkbox: true,
                    width: '1%',
                },
                {
                    title: '接口名称',
                    field: 'pathType',
                    width: '40%',
                    formatter: function(value,row, index) {
                        if(row.parentId === 0){
                            return '<i class="' + row.icon + '"></i> <span class="nav-label">' + row.pathType + '</span>';
                        }else{
                            return  row.pathName
                        }
                    }
                },
                {
                    field: 'path',
                    title: '接口地址',
                    width: '50%',
                    align: "left",
                    visible: true
                }],
            onLoadSuccess: function(data) {
                console.log("onLoadSuccess");
                $("#analysis").text(' 开 始 解 析 ')
                return false;
            }
        });
    }

    $("#exportExcel").click(function(){
        let selecteds = $('#demo').bootstrapTreeTable('getSelections');
        let filter = selecteds.filter((e)=>{
            return e.parentId !== 0;
        });
       if(filter.length <=0){
            alert("至少选择一个子元素");
            return;
       }
       console.log(filter);
       $.ajax({
           type : "POST",  //提交方式
           url : "./analysisJson/exportExcel",//路径
           contentType:"application/json",
           data : JSON.stringify(filter),//数据，这里使用的是Json格式进行传输
           success : function(result) {//返回数据根据结果进行相应的处理
              window.open(result)
           },
           error:function(){
               alert("导出失败");
           }
       })
    })
    $("#analysis").click(function(){
        $(this).text(" 解 析 中 ...")
        if(grip){
            $('#demo').bootstrapTreeTable('destroy')
        }
        let url = "./analysisJson/swagger/list?path=" +  $("#swaggerUrl").val();
         init(url);
    })
    var expandFlag_all = false;
    $("#expandAllBtn").click(function(){
        if(expandFlag_all){
            $('#demo').bootstrapTreeTable('expandAll');
        }else{
            $('#demo').bootstrapTreeTable('collapseAll');
        }
        expandFlag_all = expandFlag_all?false:true;
    })

</script>
</body>
</html>
